package com.study.mapper;

import com.study.pojo.Dept;
import org.apache.ibatis.annotations.*;

import java.util.List;


/**
 * 部门数据
 *
 * @author admin
 * @date 2025/03/03
 */
@Mapper
public interface DeptMapper {

    /**
     * 查找全部
     *
     * @return {@link List }<{@link Dept }>
     * @author Lixx
     * @date 2025/03/05
     */
    @Select("select id, name, create_time, update_time from dept order by update_time desc ")
    List<Dept> findAll();

    /**
     * 删除部门
     *
     * @param id 编号
     * @author Lixx
     * @date 2025/03/05
     */
    @Delete("delete from dept where id = #{id}")
    void deleteDept(Integer id);

    /**
     * 添加部门
     *
     * @param dept 部门
     * @author Lixx
     * @date 2025/03/04
     */
    @Insert("insert into dept(name,create_time,update_time) values(#{name},#{createTime},#{updateTime})")
    //values里面的值：#{name},#{createTime},#{updateTime}就是Dept类中的属性名()
    void addDept(Dept dept);

    /**
     * 按 ID 查找
     *
     * @param id 编号
     * @return
     * @author Lixx
     * @date 2025/03/05
     */
    @Select("select id, name, create_time, update_time from dept where id = #{id}")
    Dept findById(Integer id);

    /**
     * 更新部门
     *
     * @param dept 部门对象
     * @author Lixx
     * @date 2025/03/05
     */
    @Update("update dept set name = #{name}, update_time = #{updateTime} where id = #{id}")
    //占位符里面的值：#{name},#{updateTime},#{id}就是Dept类中的属性名()
    void updateDept(Dept dept);
}
